回答:由于我經常被邀請做為一些大型互聯網企業的面試官,所以我來回答一下這個問題。一般面試初級Java工程師都是應屆畢業生或者是1至2年左右工作經驗的程序員較多,這兩種情況雖然面試的都是初級程序員的崗位,但是面試的要求上還是有所區別的。應屆畢業生針對于應屆畢業生來說,面試官最為關心的內容是面試者的知識結構是否健全。往往面試官在篩選的時候首要考慮的是學校,然后是專業,然后是知識的掌握情況。因為有不少科技公司...
回答:謝謝邀請!這個問題用同步門閂應該可以解決,我們看一下定義:CountDownLatch是jdk1.5之后引入的一個同步器應用類,它的作用能夠使一個線程一直等待直到其他線程完成任務后再繼續執行。CountDownLatch通常也被叫做門閂,意思是它會導致一條或多條線程一直在門口等待,直到一條線程打開這個門,其他線程才得以繼續執行這是jdk1.5新增加的功能,另外使用同步屏障應該也能解決。我在頭條上寫...
回答:對象存儲,也叫做基于對象的存儲,是用來描述解決和處理離散單元的方法的通用術語,這些離散單元被稱作為對象。就像文件一樣,對象包含數據,但是和文件不同的是,對象在一個層結構中不會再有層級結構。每個對象都在一個被稱作存儲池的扁平地址空間的同一級別里,一個對象不會屬于另一個對象的下一級。文件和對象都有與它們所包含的數據相關的元數據,但是對象是以擴展元數據為特征的。每個對象都被分配一個唯一的標識符,允許一個...
回答:就拿我們項目來舉例說一說吧。我們的項目是一個純后臺服務的項目,也就是沒有前端頁面,只對外提供服務;項目是是基于 Spring Boot 來做的,引入 spring-boot-starter-web,直接對外暴露接口,報文使用的 JSON,有極個別的接口是從老系統遷移過來的,為了讓調用方盡可能地稍作修改,所以保持了 XML 的報文;在正式的生產環境中,也是使用的內置的 Tomcat;集成了 Swag...
...程并與Java線程關聯。在此過程之中虛擬機需要創建多個對象(如OSThread等)用于跟蹤線程狀態,后續需要進行線程初始化工作(如初始換ThreadLocalAllocBuffer對象等),最后啟動線程調用上文實現的run方法。 由此可見創建線程的成...
...本中加入的,在沒有泛型之前,從集合中讀取到的每一個對象都必須進行轉化。如果有有人不小心插入了類型錯誤的對象,在運行時的轉化處理就會出錯。有了泛型之后,可以告訴變一起每個集合中接受那些對象類型。編譯器自...
... 基本問題: 介紹下 Java 內存區域(運行時數據區) Java 對象的創建過程(五步,建議能默寫出來并且要知道每一步虛擬機做了什么) 對象的訪問定位的兩種方式(句柄和直接指針兩種方式) 拓展問題: String類和常量池 8種基...
...存模型 Java8以及以后的字符串新建時,直接在堆中生成對象,而字符創常量池位于Metaspace。必要的時候,會把堆中的指針存入Metaspace, 而不是復制。 Metaspace位于虛擬機以外的直接內存,因此大小和外部直接內存有關,但也可以...
...定的正則表達式的子字符串 String intern() //返回字符串對象的規范化表示形式,字符串pool中的存在返回,不存在存入pool并返回 String trim()//返回字符串的副本,忽略前導空白和尾部空白 static String format(Locale l, String format, Obj...
...。 局部變量表存放了編譯期可知的各種基本數據類型和對象引用(reference類型,他不等同于對象本身,可能是一個指向對象起始地址的引用指針,也可能是指向一個代表對象的句柄或其他與此相關的位置)和returnAddress類型(指...
...要返回值的話,就用Callable接口一個實現了Callable接口的對象,需要被包裝為RunnableFuture對象, 然后才能被新線程執行, 而RunnableFuture其實還是實現了Runnable接口。 Future, Runnable 和FutureTask的關系如下: 可以看出FutureTask其實是RunnableFutur...
...能不能都答對: Q1:String s = new String(hollis);定義了幾個對象。 Q2:如何理解String的intern方法 上面這兩個是面試題和String相關的比較常考的,很多人一般都知道答案。 A1:若常量池中已經存在hollis,則直接引用,也就是此時只...
...先,我們為什么需要線程池?讓我們先來了解下什么是 對象池 技術。某些對象(比如線程,數據庫連接等),它們創建的代價是非常大的 —— 相比于一般對象,它們創建消耗的時間和內存都很大(而且這些對象銷毀的代價比...
...:32位變量槽,存放了編譯期可知的各種基本數據類型、對象引用、returnAddress類型。 操作數棧:基于棧的執行引擎,虛擬機把操作數棧作為它的工作區,大多數指令都要從這里彈出數據、執行運算,然后把結果壓回操作數棧。 ...
...充:this逃逸是指在構造函數返回之前其他線程就持有該對象的引用. 調用尚未構造完全的對象的方法可能引發令人疑惑的錯誤。 2.2 Executor 框架結構(主要由三大部分組成) 1 任務。 執行任務需要實現的Runnable接口或Callable接口。Run...
... 前言 java中有很多類型的變量、靜態變量、全局變量及對象等,這些變量在java運行的時候到底是如何分配內存的呢?接下來有必要對此進行一些探究。 基本知識概念: (1)寄存器:最快的存儲區, 由編譯器根據需求進行分...
common-pool2 使用 common-pool2提供了3中對象池管理方式,它們的使用方式基本一樣,這里以GenericObjectPool對象池為例介紹其使用方式,一般實現自己的對象池需要經過2個步驟 實現PooledObjectFactory接口:該接口是一種工廠模式,實現...
...程池隊列已滿,這時會發生什么? 鎖的等級:方法鎖、對象鎖、類鎖? 如果同步塊內的線程拋出異常會發生什么? 并發編程(concurrency)并行編程(parallellism)有什么區別? 如何保證多線程下 i++ 結果正確? 一個線程如果出現...
ChatGPT和Sora等AI大模型應用,將AI大模型和算力需求的熱度不斷帶上新的臺階。哪里可以獲得...
大模型的訓練用4090是不合適的,但推理(inference/serving)用4090不能說合適,...
圖示為GPU性能排行榜,我們可以看到所有GPU的原始相關性能圖表。同時根據訓練、推理能力由高到低做了...